/**
 * Alipay.com Inc.
 * Copyright (c) 2004-2024 All Rights Reserved.
 */
package com.alipay.demo.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

/**
 * @author jishupei.jsp
 * @version : CertificationUseRequest, v0.1 2024年05月22日 3:03 下午 jishupei.jsp Exp $
 */
@ApiModel(description = "凭证核销模型")
public class CertificationUseRequest implements Serializable {

    private static final long serialVersionUID = 3483695733248449731L;

    @ApiModelProperty(value = "三方码（凭证发放spi生成返回），商家码必选")
    private String code;

    @ApiModelProperty(value = "订单号（凭证发放spi入参或凭证核销准备接口获取），三方码核销时必选")
    private String orderId;

    @ApiModelProperty(value = "支付宝平台加密券码（凭证核销准备接口返回），平台码必选")
    private String encryptedCode;

    @ApiModelProperty(value = "核销门店id，不填默认取第一个正常状态门店")
    private String shopId;

    @ApiModelProperty(value = "凭证归属支付宝用户id或OpenId", required = true)
    private String userIdOrOpenId;

    /**
     * Getter method for property <tt>code</tt>.
     *
     * @return property value of code
     */
    public String getCode() {
        return code;
    }

    /**
     * Setter method for property <tt>code</tt>.
     *
     * @param code value to be assigned to property code
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * Getter method for property <tt>encryptedCode</tt>.
     *
     * @return property value of encryptedCode
     */
    public String getEncryptedCode() {
        return encryptedCode;
    }

    /**
     * Setter method for property <tt>encryptedCode</tt>.
     *
     * @param encryptedCode value to be assigned to property encryptedCode
     */
    public void setEncryptedCode(String encryptedCode) {
        this.encryptedCode = encryptedCode;
    }

    /**
     * Getter method for property <tt>orderId</tt>.
     *
     * @return property value of orderId
     */
    public String getOrderId() {
        return orderId;
    }

    /**
     * Setter method for property <tt>orderId</tt>.
     *
     * @param orderId value to be assigned to property orderId
     */
    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    /**
     * Getter method for property <tt>shopId</tt>.
     *
     * @return property value of shopId
     */
    public String getShopId() {
        return shopId;
    }

    /**
     * Setter method for property <tt>shopId</tt>.
     *
     * @param shopId value to be assigned to property shopId
     */
    public void setShopId(String shopId) {
        this.shopId = shopId;
    }

    /**
     * Getter method for property <tt>userIdOrOpenId</tt>.
     *
     * @return property value of userIdOrOpenId
     */
    public String getUserIdOrOpenId() {
        return userIdOrOpenId;
    }

    /**
     * Setter method for property <tt>userIdOrOpenId</tt>.
     *
     * @param userIdOrOpenId value to be assigned to property userIdOrOpenId
     */
    public void setUserIdOrOpenId(String userIdOrOpenId) {
        this.userIdOrOpenId = userIdOrOpenId;
    }
}
